1. Field of the Invention
The present invention relates in general to a system and method for separating traffic between two routers by establishing and using a generic routing encapsulation (GRE) tunnel directly over a link running a point-to-point protocol (PPP).
2. Description of Related Art
The present invention is related to traffic separation over PPP. On Ethernet or Asynchronous Transfer Mode (ATM) interfaces, it is possible to separate traffic originating from different users or domains into different PPP sessions by running PPP over Ethernet (PPPoE) and PPP over ATM (PPPoA) respectively. Other point-to-point interfaces like Packet Over Sonet (POS) can be channelized to provide traffic separation. In the POS scenario one traffic type can be supported on each channel.
However, there is also a need to support traffic separation on unchannelized point-to-point interfaces to be able to take advantage of the bandwidth available on those unchannelized interfaces. Today there are different technologies that can be used to solve this traffic separation problem including, for example, Multiprotocol Label Switching (MPLS), Frame Relay and Internet Protocol (IP). MPLS can achieve traffic separation by assigning one label for each traffic type. Similarly Frame Relay can use one Data Link Connection Identifier (DLCI) for each traffic type. The present invention is related to the third option mentioned above, namely, the use of IP tunnels. IP tunneling is one of the most promising technologies that can be used to address the traffic separation problem. This is because most IP router vendors already support IP tunneling for other type of applications.
Referring to FIG. 1 (prior art), there is a block diagram of a system 100 which is used to describe how IP tunneling can help address the separation problem. As shown, the system 100 includes a point-to-point (PPP) link 102 and a GRE tunnel 104 which connects two routers R1 and R2. Hosts H1 and H3 are coupled to router R1. And, hosts H2 and H4 are coupled to router R2. If it is assumed that hosts H1 and H2 are in a different domain than hosts H3 and H4. Then the traffic going from host H1 to host H2 needs to go over a different GRE tunnel 104 than the traffic going from host H3 to host H4. In the traditional GRE tunneling scenario, all the traffic that comes into router R1 and is tunneled over to router R2 has a L2 frame 106 with a format as shown in the exploded view in FIG. 1. The frame 106 has this format because the GRE tunnel 104 in the traditional scenario has to be configured over an IP connection to enable traffic separation at Layer 3. And, when a GRE tunnel 104 is running over the PPP link 102 it is necessary to have IP encapsulation to carry a GRE header 108 and an outer IP header 110 across the GRE tunnel 104. But, the carrying of the outer IP header 110 which is used for routing is not required since the routers R1 and R2 are directly connected. Of course, carrying 20 extra bytes of IP header information in the outer IP header 110 which is not required can be expensive. As an example, if the traditional GRE tunneling scenario is used, for a 100 byte packet payload, the overhead of L2 and L3 headers can be 54 bytes, which accounts to 54% overhead. If the 20 bytes of extra overhead in the outer IP header 110 can be removed, then the total overhead would be reduced by 34%.
One way of solving this overhead problem is by supporting IP header compression. The problem with IP header compression is that it is a complex solution which utilizes many cycles in the central processing unit (CPU) and requires support to be exposed to all parts of the system. Accordingly, there is a need for a new system and method that addresses both the traffic separation problem and the overhead problem. This need and other needs are satisfied by the system and method of the present invention.